#include <iostream>

void quick_sort(int arr[],int left,int right)
{
    if (left >= right)  
    {
        return;
    }
    int i = left,j = right;
    int pivot = arr[left];

    while (i < j)
    {
        while (i < j&&arr[j] >= pivot) 
        {
            j--;
        }
        if (i < j)
        {
            arr[i] = arr[j];
            i++;
        }

        while (i < j&&arr[i] <= pivot)
        {
            i++;
        }
        if (i < j) 
        {
            // 赋值操作？？？
            arr[j] = arr[i];
            j--;
        }
    }
    
    arr[i] = pivot;
    quick_sort(arr,left,i -1);
    quick_sort(arr,i - 1,right);

}

// 堆排序
void heap_sort(int arr[])
{

}

// 插入排序
void insert_sort(int arr[],int length)
{
    for (int i = 0;i < length;i++)
    {
        int temp = i;
        while (temp)
        {
            if (arr[temp-1] > arr[temp])
            {
                arr[temp-1] ^= arr[temp];
                arr[temp] ^= arr[temp-1];
                arr[temp-1] ^= arr[temp];
            }
            temp--;
        }
    }
}

// 选择排序
void choice_sort(int arr[],int length)
{

}

int main()
{
    int arr[6] = {4,2,6,1,5,3};

    insert_sort(arr,6);
    
    // 打印输出查看结果
    for (int i = 0;i < 6;i++)
    {
        printf("%d ",arr[i]);
    }

    // Test_Yong
    return 0;
}